7 research outputs found
Affine Multibanking for High-Level Synthesis
International audienceIn the last decade, FPGAs appeared as a credible alternative for big data and high-performance computing applications. However, programming an FPGA is tedious: given a function to implement, the circuit must be designed from scratch by the developer. In this short paper, we address the compilation of data placement under parallelism and resource constraints. We propose an HLS algorithm able to partition the data across memory banks, so parallel accesses will target distinct banks to avoid data transfer serialization. Our algorithm is able to reduce the number of banks and the maximal bank size. Preliminary evaluation shows promising results
Affine Multibanking for High-Level Synthesis
In the last decade, FPGAs appeared as a credible alternative for big data and high-performance computing applications. However, programming an FPGA is tedious: given a function to implement, the circuit configuration must be built from scratch by the developer. Hence the emergence of high-level circuit compilers (high-level synthesis, HLS), able to translate a C program to an FPGA circuit configuration. Unlike software parallelization, there is no operating system to place the computation and the memory at runtime. All the parallelization decisions must be done at compile time. In this report, we address the compilation of data placement under parallelism and resource constraints. We propose an HLS algorithm able to partition the data across memory banks, so parallel access will target distinct banks to avoid data transfer serialization. Our algorithm is able to minimize the number of banks and the maximal bank size.Dans la derniere decennie, les FPGA sont apparus comme une alternative credible pour le big data et le calcul haute performance. Malheureusement, la programmation des FPGA requiert la conception dâune configuration de circuit, ce qui est hors dâatteinte pour un programmeur. DâoĂč lâĂ©mergence de la synthĂšse de circuit haut-niveau (High-Level Synthesis, HLS), capable de compiler un code C canonique en configuration de circuit FPGA. Contrairement `a la parallĂ©lisation logicielle, toutes les dĂ©cisions de placement des donnĂ©es et des calculs doivent ĂȘtre prises statiquement, Ă la compilation. Dans ce rapport, nous ÌĂ©tudions la compilation dâun placement de donnĂ©es sous contrainte de parallĂ©lisme et de taille. Nous proposons un algorithme de HLS capable de partitionner les donnĂ©es sur des bancs, de sorte que deux donnĂ©es accĂ©dĂ©es en mĂȘme temps soient sur deux bancs diffĂ©rents, et puissent ainsi ĂȘtre accessibles en parallĂšle.Notre algorithme est capable de trouver une partition qui minimise le nombre de bancs et la taille maximale dâun banc
SafeLS: Toward Building a Lockstep NOEL-V Core
Safety-critical systems such as those in automotive, avionics and space,
require appropriate safety measures to avoid silent data corruption upon random
hardware errors such as those caused by radiation and other types of
electromagnetic interference. Those safety measures must be able to prevent
faults from causing the so-called common cause failures (CCFs), which occur
when a fault produces identical errors in redundant elements so that comparison
fails to detect the errors and a failure arises. The usual solution to avoid
CCFs in CPU cores is using lockstep cores, so that two cores execute the same
flow of instructions, but with some time staggering so that their state is
never identical and faults can only lead to different errors, which are then
detectable by means of comparison. This paper extends Gaisler's RISC-V NOEL-V
core with lockstep; and presents future prospects for its use and distribution.Comment: Abstract presented at the RISC-V Summit, June 2023, Barcelona (Spain
SafeX: Open source hardware and software components for safety-critical systems
RISC-V Instruction Set Architecture (ISA) emerges as an opportunity to develop open source hardware without being subject to expensive licenses or export restrictions. A plethora of initiatives are nowadays developing systems-on-chip (SoCs) and its components based on RISC-V targeting a wide variety of markets. However, domains with safety requirements, such as avionics, space, and automotive, impose SoCs to include support to meet those requirements.This work introduces the SafeX family of components, a set of components providing SoC controllability, observability and safety measures support. These components, developed by the Barcelona Supercomputing Center with permissive open source licenses, are intended to be the basis to make SoCs meet the needs of domains with safety requirements. In particular, the SafeX components developed so far include the SafeSU (multicore statistics unit), the SafeTI (flexible and programmable traffic injector), the SafeDE and SafeSoftDR (hardware and software modules to enforce lockstep execution), and the SafeDM (module to monitor diversity across cores).This work has received funding from the European Unionâs Horizon 2020 research and innovation programme under grant agreement no. 871467. This work has also been partially supported by the Spanish Ministry of Science and Innovation under grant PID2019-107255GB-C21 funded by MCIN/AEI/10.13039/501100011033.Peer ReviewedPostprint (author's final draft
SafeLS: An open source implementation of a lockstep NOEL-V RISC-V core
Microcontrollers running safety-critical applications with high integrity requirements must provide appropriate safety measures to manage random hardware faults. For instance, automotive safety regulations (e.g., ISO26262) impose the use of diverse redundancy for items at the highest automotive safety integrity level (ASIL), ASIL-D. In the case of computing cores, this is realized with dual core lockstep (DCLS). The advent of the RISC-VISA has made open source hardware gain popularity. However, there are few industrial open source SoCs meeting the requirements of safety-critical systems, and, to our knowledge, none of them provides lockstep cores. This paper presents the realization of a RISC-V open source lockstep core based on Gaisler's NOEL-V core for the space domain, as well as its integration in the SELENE SoC that provides a complete microcontroller synthesizable on FPGA successfully assessed against space, automotive and railway safety-critical applications in the past.This work is part of the European Unionâs Horizon 2020 Programme under project KDT Joint Undertaking (JU) under grant agreement No 101112274 (ISOLDE). This work has also been partially supported by the Spanish Ministry of Science and Innovation under grant PID2019-107255GB-C21 funded by MCIN/AEI/10.13039/501100011033.Peer ReviewedPostprint (author's final draft
Affine Multibanking for High-Level Synthesis
In the last decade, FPGAs appeared as a credible alternative for big data and high-performance computing applications. However, programming an FPGA is tedious: given a function to implement, the circuit configuration must be built from scratch by the developer. Hence the emergence of high-level circuit compilers (high-level synthesis, HLS), able to translate a C program to an FPGA circuit configuration. Unlike software parallelization, there is no operating system to place the computation and the memory at runtime. All the parallelization decisions must be done at compile time. In this report, we address the compilation of data placement under parallelism and resource constraints. We propose an HLS algorithm able to partition the data across memory banks, so parallel access will target distinct banks to avoid data transfer serialization. Our algorithm is able to minimize the number of banks and the maximal bank size.Dans la derniere decennie, les FPGA sont apparus comme une alternative credible pour le big data et le calcul haute performance. Malheureusement, la programmation des FPGA requiert la conception dâune configuration de circuit, ce qui est hors dâatteinte pour un programmeur. DâoĂč lâĂ©mergence de la synthĂšse de circuit haut-niveau (High-Level Synthesis, HLS), capable de compiler un code C canonique en configuration de circuit FPGA. Contrairement `a la parallĂ©lisation logicielle, toutes les dĂ©cisions de placement des donnĂ©es et des calculs doivent ĂȘtre prises statiquement, Ă la compilation. Dans ce rapport, nous ÌĂ©tudions la compilation dâun placement de donnĂ©es sous contrainte de parallĂ©lisme et de taille. Nous proposons un algorithme de HLS capable de partitionner les donnĂ©es sur des bancs, de sorte que deux donnĂ©es accĂ©dĂ©es en mĂȘme temps soient sur deux bancs diffĂ©rents, et puissent ainsi ĂȘtre accessibles en parallĂšle.Notre algorithme est capable de trouver une partition qui minimise le nombre de bancs et la taille maximale dâun banc
Affine Multibanking for High-Level Synthesis
International audienceIn the last decade, FPGAs appeared as a credible alternative for big data and high-performance computing applications. However, programming an FPGA is tedious: given a function to implement, the circuit must be designed from scratch by the developer. In this short paper, we address the compilation of data placement under parallelism and resource constraints. We propose an HLS algorithm able to partition the data across memory banks, so parallel accesses will target distinct banks to avoid data transfer serialization. Our algorithm is able to reduce the number of banks and the maximal bank size. Preliminary evaluation shows promising results